1. Field of the Invention
The present invention relates generally to computer-implemented drawing programs, and in particular, to a method, apparatus, and article of manufacture for defining how parts will be positioned or constrained when they are used in an assembly independent of any knowledge of what assemblies they will be used in.
2. Description of the Related Art
Multiple components/parts are commonly displayed in computer drawing programs such as solid modeling or computer aided design (CAD) programs. The multiple components are often related to each other and need to be placed in a drawing based on the relationship. In the prior art, the relationship and mating information for positioning parts could not be captured until the assembly was being designed and both parts were being placed. However, a part is often designed without knowing how it will eventually be used in an assembly. Accordingly, the prior art does not provide the ability for part designers to establish mating information or information on how the part will interface with other parts during the design process. Such problems may be better understood by describing drawing programs and components/parts used in a drawing program.
Computer-implemented drawing programs are often used to create, view, and modify solid models, assemblies, diagrams, flow charts, blue-prints, etc. (collectively referred to as drawings) in both two dimensions (2D) and three dimensions (3D). The drawings comprise one or more graphical elements (referred to as components or parts) arranged in a defined format. In turn, the graphical elements may comprise one or more smaller graphical elements/entities (referred to as features).
Components/parts may often be related to each other. For example, one part (e.g., a bolt) may be related or intended to fit into another part (e.g., a washer or nut). To establish the relationship, constraints may be placed on the parts. For example, a bolt may be constrained to the washer. The constraints between the parts are based on features in the related parts. For example, the center axis feature of the bolt may be constrained to the center axis feature of hole in the washer. Thus, the constraints are often specified for particular features in a part.
Constraining one or more parts to a particular position or relationship with another part (also referred to as mating information) are available in the prior art. However, in the prior art, the mating information for positioning parts could not be captured until the assembly was being designed. In other words, both parts had to be displayed at the same time in order to establish a relationship between them. Typically, a first part was placed in the drawing and as a second part was being placed, a relationship between the parts could be determined and set. Mating properties of a particular part could not be established prior to placement of the part itself.